Programming a Real Self-Driving Car

Submission checklist and requirements

Once your team's project is able to drive the vehicle successfully in the simulator, you may be ready to submit the project for testing on the Udacity vehicle. At this point, your project should:

  • Launch correctly using the launch files provided in the capstone repo. Please note that we will not be able to accommodate special launch instructions or run additional scripts from your submission to download files. *The launch/styx.launch and launch/site.launch files will be used to test code in the simulator and on the vehicle respectively. The submission size limit for this project has been increased to 2GB. *
  • Smoothly follow waypoints in the simulator.
  • Respect the target top speed set for the waypoints' twist.twist.linear.x in waypoint_loader.py . Be sure to check that this is working by testing with different values for kph velocity parameter in /ros/src/waypoint_loader/launch/waypoint_loader.launch . If your vehicle adheres to the kph target top speed set here, then you have satisfied this requirement.
  • Stop at traffic lights when needed.
  • Stop and restart PID controllers depending on the state of /vehicle/dbw_enabled .
  • Publish throttle, steering, and brake commands at 50hz.

Udacity engineers will be evaluating your project on Carla, an autonomous Lincoln MKZ, at their test site in Palo Alto, California. Due to the time-consuming nature of testing project submissions on a physical vehicle, it typically takes up to a week before you will receive your project feedback. The project that is evaluated on the vehicle should not have any external libraries that aren't included in the starter repo . Your team should be aware of the hardware specifications of the Udacity vehicle when designing your solution.

Udacity Self-Driving Car Harware Specs

  • 31.4 GiB Memory
  • Intel Core i7-6700K CPU @ 4 GHz x 8
  • TITAN X Graphics
  • 64-bit OS

After your team has confirmed that traffic light detection is working in the simulator, you should test it out using ROS bags that were recorded at the test site: Traffic Light Detection Test Video .

Project submission instructions

Once your project satisfies the conditions above, please follow these instructions to submit the project. Note that we require a separate submission from each student, even though the project is done in teams.

To prevent identical code from being run on Carla multiple times, there are different submission instructions for Team Leads and Team Members - please be sure to follow the correct set of instructions. Only Team Lead submissions will be tested, and Team Leads will receive the feedback for the entire team. Team Member submissions are automatically passed through our review system without being tested.

Note that it typically takes up to a week to receive feedback for this project, so plan accordingly.

Team Lead submission instructions

Submissions or resubmissions intended for review should include:

  • All code for your project, submitted via a zipped file or through GitHub. Please use the same directory structure as the project repo, ensuring that all files are included.
  • A README file in .txt, .md, or .pdf format. This file should contain the full names and Udacity account emails of your team members. For additional resources on creating READMEs or using Markdown, see here or here.
  • Important: Please include the names and Udacity account emails of you and your team members in the “Notes to Reviewer” section when uploading your submission. Without these, we will not be able to test your code properly. If you are an individual submitting not as part of a team, please include your name and email address and note that you are submitting as an individual.
  • The “Notes to Reviewer” section is only to indicate who you and your team members are. Please note that we cannot accommodate special launch instructions or other requests.

When your project is reviewed, you will be notified and provided with a link to download your team’s feedback. Your team members will be instructed to check with you to see the team’s feedback. This link expires after 20 days, so be sure to download the feedback promptly and share it with your team members.

When your team is satisfied with the results of your project - whatever this means to you - please resubmit with the Notes to Reviewer field blank to close your submission. You do not need to wait for this submission to be reviewed before applying to graduate.

Team Member submission instructions

Submissions should include:

  • All code for your project, submitted via a zipped file or through GitHub. Please use the same directory structure as the project repo, ensuring that all files are included.
  • A README file in .txt, .md, or .pdf format. This file should contain the full names and Udacity account emails of your team members. For additional resources on creating READMEs or using Markdown, see here or here.
  • ### Important: Make sure to leave the “Notes to Reviewer” field EMPTY when uploading your submission. Do not include ANY text.

You will be notified when your project is reviewed, and can then check with your Team Lead to see your team’s feedback.

Graduation

As soon as your team is satisfied with the results of your project, you can close your submission and apply for graduation! The only formal requirement for graduation is to have submitted the capstone project, so it’s up to you to decide when you are ready to graduate. The next lesson, “Completing the Program,” includes instructions for how to apply for graduation.

Questions?

The submission and review process for this project is different than the other projects in this Nanodegree program. We’ve put together a document of frequently asked questions about this project here. If you have a question about team formation, project submission, or the review process that is not answered in this document, you can email selfdrivingcar-support@udacity.com for assistance.

Share your project success

Passed your project? Share the good news!

What you’ve accomplished is no small feat. Give yourself a pat on the back and some well-deserved recognition by sharing your success with your network.

Facebook and LinkedIn

Make sure to use @Udacity and #selfdrivingudacity in your posts!

Enter the full URL of your Github repository or Youtube video: